home *** CD-ROM | disk | FTP | other *** search
/ Apple CD-ROM Titles Sampler / Apple CD-ROM Titles Sampler.iso / CD-ROM Titles Sampler / CD-ROM Titles Sampler.rsrc / XFCN_19911_QTCapableCPU.txt < prev    next >
Text File  |  1992-02-25  |  17KB  |  302 lines

  1. start:
  2. 00000000  4E56 0000                link       A6, 0
  3. 00000004  2F2E 0008                move.l     -[A7], [A6 + 0x8]
  4. 00000008  4EBA 0016                jsr        [PC + 0x16 /* 00000020 */]
  5. 0000000C  4E5E                     unlink     A6
  6. 0000000E  2E9F                     move.l     [A7], [A7]+
  7. 00000010  4E75                     rts
  8. 00000012  8A45                     or.w       D5, D5
  9. 00000014  4E54 5259                link       A4, -0xFFFFADA7
  10. 00000018  504F                     addq.w     A7, 8
  11. 0000001A  494E                     chk.w      D4, A6
  12. 0000001C  5400                     addq.b     D0, 2
  13. 0000001E  0000 4E56                ori.b      D0, 0x56 /* 'V' */
  14. // begin alternate branch 00000020-00000026
  15. fn00000020:
  16. 00000020  4E56 FEFA                link       A6, -0x0106
  17. 00000024  4267                     clr.w      -[A7]
  18. // end alternate branch 00000020-00000026
  19. fn00000020: // (misaligned)
  20. 00000022  FEFA 4267                .extension 0xEFA <<F/2-3/7>> // unimplemented
  21. 00000026  2F3C 7164 2020           move.l     -[A7], 0x71642020 /* 'qd  ' */
  22. 0000002C  486E FFFA                pea.l      [A6 - 0x6]
  23. 00000030  4EBA 00A8                jsr        [PC + 0xA8 /* 000000DA */]
  24. 00000034  3D5F FFFE                move.w     [A6 - 0x2], [A7]+
  25. 00000038  0CAE 0000 0100 FFFA      cmpi.l     [A6 - 0x6], 0x100
  26. 00000040  6D0E                     blt        +0x10 /* 00000050 */
  27. 00000042  41EE FEFA                lea.l      A0, [A6 - 0x106]
  28. 00000046  43FA 004C                lea.l      A1, [PC + 0x4C /* 00000094, value 0x4747275, pstring "true" */]
  29. 0000004A  20D9                     move.l     [A0]+, [A1]+
  30. 0000004C  3091                     move.w     [A0], [A1]
  31. 0000004E  600C                     bra        +0xE /* 0000005C */
  32. label00000050:
  33. 00000050  41EE FEFA                lea.l      A0, [A6 - 0x106]
  34. 00000054  43FA 0038                lea.l      A1, [PC + 0x38 /* 0000008E, value 0x566616C, pstring "false" */]
  35. 00000058  20D9                     move.l     [A0]+, [A1]+
  36. 0000005A  3091                     move.w     [A0], [A1]
  37. label0000005C:
  38. 0000005C  206E 0008                movea.l    A0, [A6 + 0x8]
  39. 00000060  2F08                     move.l     -[A7], A0
  40. 00000062  42A7                     clr.l      -[A7]
  41. 00000064  2F2E 0008                move.l     -[A7], [A6 + 0x8]
  42. 00000068  486E FEFA                pea.l      [A6 - 0x106]
  43. 0000006C  4EBA 002C                jsr        [PC + 0x2C /* 0000009A */]
  44. 00000070  201F                     move.l     D0, [A7]+
  45. 00000072  205F                     movea.l    A0, [A7]+
  46. 00000074  2140 0042                move.l     [A0 + 0x42], D0
  47. 00000078  4E5E                     unlink     A6
  48. 0000007A  2E9F                     move.l     [A7], [A7]+
  49. 0000007C  4E75                     rts
  50. 0000007E  8C51                     or.w       D6, [A1]
  51. 00000080  5443                     addq.w     D3, 2
  52. 00000082  4150                     chk.w      D0, [A0]
  53. 00000084  4142                     chk.w      D0, D2
  54. 00000086  4C45 4350                movem.l    D4,D6,A0,A1,A6, D5
  55. 0000008A  5500                     subq.b     D0, 2
  56. 0000008C  000C 0566                ori.b      A4, 0x66 /* 'f' */
  57. 00000090  616C                     bsr        +0x6E /* 000000FE */
  58. 00000092  7365                     moveq.l    D1, 0x65
  59. 00000094  0474 7275 6500           subi.w     [A4 + <<invalid base displacement size>> + D6 * 4], 0x7275 /* 'ru' */
  60. fn0000009A:
  61. 0000009A  4E56 FF00                link       A6, -0x0100
  62. 0000009E  2F0C                     move.l     -[A7], A4
  63. 000000A0  206E 0008                movea.l    A0, [A6 + 0x8]
  64. 000000A4  43EE FF00                lea.l      A1, [A6 - 0x100]
  65. 000000A8  703F                     moveq.l    D0, 0x3F
  66. label000000AA:
  67. 000000AA  22D8                     move.l     [A1]+, [A0]+
  68. 000000AC  51C8 FFFC                dbf        D0, -0x6 /* 000000AA */
  69. 000000B0  286E 000C                movea.l    A4, [A6 + 0xC]
  70. 000000B4  41EE FF00                lea.l      A0, [A6 - 0x100]
  71. 000000B8  2948 0050                move.l     [A4 + 0x50], A0
  72. 000000BC  397C 0007 004C           move.w     [A4 + 0x4C], 0x7
  73. 000000C2  2F2C 0048                move.l     -[A7], [A4 + 0x48]
  74. 000000C6  205F                     movea.l    A0, [A7]+
  75. 000000C8  4E90                     jsr        [A0]
  76. 000000CA  2D6C 0070 0010           move.l     [A6 + 0x10], [A4 + 0x70]
  77. 000000D0  285F                     movea.l    A4, [A7]+
  78. 000000D2  4E5E                     unlink     A6
  79. 000000D4  205F                     movea.l    A0, [A7]+
  80. 000000D6  504F                     addq.w     A7, 8
  81. 000000D8  4ED0                     jmp        [A0]
  82. fn000000DA:
  83. 000000DA  4E56 0000                link       A6, 0
  84. 000000DE  203C 0000 A89F           move.l     D0, 0xA89F
  85. 000000E4  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  86. 000000E6  2F08                     move.l     -[A7], A0
  87. 000000E8  203C 0000 A0AD           move.l     D0, 0xA0AD
  88. 000000EE  A346                     syscall    GetOSTrapAddress, flags=3
  89. 000000F0  B1DF                     cmpa.l     A0, [A7]+
  90. 000000F2  670E                     beq        +0x10 /* 00000102 */
  91. 000000F4  202E 000C                move.l     D0, [A6 + 0xC]
  92. 000000F8  A1AD                     syscall    Gestalt, flags=1
  93. 000000FA  226E 0008                movea.l    A1, [A6 + 0x8]
  94. fn000000FE:
  95. 000000FE  2288                     move.l     [A1], A0
  96. 00000100  6026                     bra        +0x28 /* 00000128 */
  97. label00000102:
  98. 00000102  41FA 0036                lea.l      A0, [PC + 0x36 /* 0000013A, value 0x76657273 'vers', cstring "vers" */]
  99. 00000106  303C EA51                move.w     D0, 0xEA51
  100. 0000010A  222E 000C                move.l     D1, [A6 + 0xC]
  101. label0000010E:
  102. 0000010E  B298                     cmp.l      D1, [A0]+
  103. 00000110  6706                     beq        +0x8 /* 00000118 */
  104. 00000112  4A98                     tst.l      [A0]+
  105. 00000114  6712                     beq        +0x14 /* 00000128 */
  106. 00000116  60F6                     bra        -0x8 /* 0000010E */
  107. label00000118:
  108. 00000118  43FA 0020                lea.l      A1, [PC + 0x20 /* 0000013A, value 0x76657273 'vers', cstring "vers" */]
  109. 0000011C  D3D0                     add.l      A1, [A0]
  110. 0000011E  4ED1                     jmp        [A1]
  111. label00000120:
  112. 00000120  226E 0008                movea.l    A1, [A6 + 0x8]
  113. 00000124  2280                     move.l     [A1], D0
  114. 00000126  4240                     clr.w      D0
  115. label00000128:
  116. 00000128  3D40 0010                move.w     [A6 + 0x10], D0
  117. 0000012C  4E5E                     unlink     A6
  118. 0000012E  205F                     movea.l    A0, [A7]+
  119. 00000130  508F                     addq.l     A7, 8
  120. 00000132  4ED0                     jmp        [A0]
  121. label00000134:
  122. 00000134  303C EA52                move.w     D0, 0xEA52
  123. 00000138  60EE                     bra        -0x10 /* 00000128 */
  124. 0000013A  7665                     moveq.l    D3, 0x65
  125. 0000013C  7273                     moveq.l    D1, 0x73
  126. 0000013E  0000 0060                ori.b      D0, 0x60 /* '`' */
  127. 00000142  6D61                     blt        +0x63 /* 000001A5 */
  128. 00000144  6368                     bls        +0x6A /* 000001AE */
  129. 00000146  0000 0064                ori.b      D0, 0x64 /* 'd' */
  130. 0000014A  7379                     moveq.l    D1, 0x79
  131. 0000014C  7376                     moveq.l    D1, 0x76
  132. 0000014E  0000 0088                ori.b      D0, 0x88
  133. 00000152  7072                     moveq.l    D0, 0x72
  134. 00000154  6F63                     ble        +0x65 /* 000001B9 */
  135. 00000156  0000 0092                ori.b      D0, 0x92
  136. 0000015A  6670                     bne        +0x72 /* 000001CC */
  137. 0000015C  7520                     moveq.l    D2, 0x20
  138. 0000015E  0000 009E                ori.b      D0, 0x9E
  139. 00000162  7164                     moveq.l    D0, 0x64
  140. 00000164  2020                     move.l     D0, -[A0]
  141. 00000166  0000 00E8                ori.b      D0, 0xE8
  142. 0000016A  6B62                     bmi        +0x64 /* 000001CE */
  143. 0000016C  6420                     bcc        +0x22 /* 0000018E */
  144. 0000016E  0000 011A                ori.b      D0, 0x1A
  145. 00000172  6174                     bsr        +0x76 /* 000001E8 */
  146. 00000174  6C6B                     bge        +0x6D /* 000001E1 */
  147. 00000176  0000 0142                ori.b      D0, 0x42 /* 'B' */
  148. 0000017A  6D6D                     blt        +0x6F /* 000001E9 */
  149. 0000017C  7520                     moveq.l    D2, 0x20
  150. 0000017E  0000 0164                ori.b      D0, 0x64 /* 'd' */
  151. 00000182  7261                     moveq.l    D1, 0x61
  152. 00000184  6D20                     blt        +0x22 /* 000001A6 */
  153. 00000186  0000 0188                ori.b      D0, 0x88
  154. 0000018A  6C72                     bge        +0x74 /* 000001FE */
  155. 0000018C  616D                     bsr        +0x6F /* 000001FB */
  156. label0000018E:
  157. 0000018E  0000 0188                ori.b      D0, 0x88
  158. 00000192  0000 0000                ori.b      D0, 0x0
  159. 00000196  0000 0000                ori.b      D0, 0x0
  160. 0000019A  7001                     moveq.l    D0, 0x01
  161. 0000019C  6082                     bra        -0x7C /* 00000120 */
  162. 0000019E  2278 02AE                movea.l    A1, [0x000002AE /* ROMBase */]
  163. 000001A2  7004                     moveq.l    D0, 0x04
  164. 000001A4  0C69 0075 0008           cmpi.w     [A1 + 0x8], 0x75 /* 'u' */
  165. // begin alternate branch 000001A6-000001AE
  166. label000001A6:
  167. 000001A6  0075 0008 6712 0C69      ori.w      [[A5 + D6 * 8] + 0xC69], 0x8
  168. // end alternate branch 000001A6-000001AE
  169. label000001A6: // (misaligned)
  170. 000001AA  6712                     beq        +0x14 /* 000001BE */
  171. 000001AC  0C69 0276 0008           cmpi.w     [A1 + 0x8], 0x276
  172. // begin alternate branch 000001AE-000001B4
  173. label000001AE:
  174. 000001AE  0276 0008 6604           andi.w     [A6 + D6.w * 8 + 0x4], 0x8
  175. // end alternate branch 000001AE-000001B4
  176. label000001AE: // (misaligned)
  177. 000001B2  6604                     bne        +0x6 /* 000001B8 */
  178. 000001B4  5240                     addq.w     D0, 1
  179. 000001B6  6006                     bra        +0x8 /* 000001BE */
  180. label000001B8:
  181. 000001B8  1038 0CB3                move.b     D0, [0x00000CB3 /* MMUFluff/MachineType */]
  182. 000001BC  5C80                     addq.l     D0, 6
  183. label000001BE:
  184. 000001BE  6000 FF60                bra        -0x9E /* 00000120 */
  185. 000001C2  7000                     moveq.l    D0, 0x00
  186. 000001C4  3038 015A                move.w     D0, [0x0000015A /* SysVersion */]
  187. 000001C8  6000 FF56                bra        -0xA8 /* 00000120 */
  188. label000001CC:
  189. 000001CC  7000                     moveq.l    D0, 0x00
  190. label000001CE:
  191. 000001CE  1038 012F                move.b     D0, [0x0000012F /* CPUFlag */]
  192. 000001D2  5240                     addq.w     D0, 1
  193. 000001D4  6000 FF4A                bra        -0xB4 /* 00000120 */
  194. 000001D8  0C38 0004 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x4
  195. 000001DE  6738                     beq        +0x3A /* 00000218 */
  196. 000001E0  0838 0004 0B22           btst.b     [0x00000B22 /* HWCfgFlags */], 0x4
  197. 000001E6  6734                     beq        +0x36 /* 0000021C */
  198. fn000001E8:
  199. 000001E8  204F                     movea.l    A0, A7
  200. 000001EA  F280 0000                fnop
  201. 000001EE  F327                     .extension 0x327 <<F/4-5/1>> // unimplemented
  202. 000001F0  3017                     move.w     D0, [A7]
  203. 000001F2  2E48                     movea.l    A7, A0
  204. 000001F4  0C40 1F18                cmpi.w     D0, 0x1F18
  205. 000001F8  6716                     beq        +0x18 /* 00000210 */
  206. 000001FA  0C40 3F18                cmpi.w     D0, 0x3F18
  207. label000001FE:
  208. 000001FE  6710                     beq        +0x12 /* 00000210 */
  209. 00000200  0C40 3F38                cmpi.w     D0, 0x3F38 /* '?8' */
  210. 00000204  670E                     beq        +0x10 /* 00000214 */
  211. 00000206  0C40 1F38                cmpi.w     D0, 0x1F38
  212. 0000020A  6708                     beq        +0xA /* 00000214 */
  213. 0000020C  7000                     moveq.l    D0, 0x00
  214. 0000020E  600E                     bra        +0x10 /* 0000021E */
  215. label00000210:
  216. 00000210  7001                     moveq.l    D0, 0x01
  217. 00000212  600A                     bra        +0xC /* 0000021E */
  218. label00000214:
  219. 00000214  7002                     moveq.l    D0, 0x02
  220. 00000216  6006                     bra        +0x8 /* 0000021E */
  221. label00000218:
  222. 00000218  7003                     moveq.l    D0, 0x03
  223. 0000021A  6002                     bra        +0x4 /* 0000021E */
  224. label0000021C:
  225. 0000021C  7000                     moveq.l    D0, 0x00
  226. label0000021E:
  227. 0000021E  6000 FF00                bra        -0xFE /* 00000120 */
  228. 00000222  0C78 3FFF 028E           cmpi.w     [0x0000028E /* ROM85 */], 0x3FFF
  229. 00000228  6E1C                     bgt        +0x1E /* 00000246 */
  230. 0000022A  303C A89F                move.w     D0, 0xA89F
  231. 0000022E  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  232. 00000230  2408                     move.l     D2, A0
  233. 00000232  203C 0000 AB03           move.l     D0, 0xAB03
  234. 00000238  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  235. 0000023A  203C 0000 0100           move.l     D0, 0x100
  236. 00000240  B488                     cmp.l      D2, A0
  237. 00000242  6606                     bne        +0x8 /* 0000024A */
  238. 00000244  600A                     bra        +0xC /* 00000250 */
  239. label00000246:
  240. 00000246  7000                     moveq.l    D0, 0x00
  241. 00000248  6006                     bra        +0x8 /* 00000250 */
  242. label0000024A:
  243. 0000024A  203C 0000 0200           move.l     D0, 0x200
  244. label00000250:
  245. 00000250  6000 FECE                bra        -0x130 /* 00000120 */
  246. 00000254  1038 021E                move.b     D0, [0x0000021E /* KbdType */]
  247. 00000258  41FA 0016                lea.l      A0, [PC + 0x16 /* 00000270, value 0x3130B02 */]
  248. 0000025C  2248                     movea.l    A1, A0
  249. label0000025E:
  250. 0000025E  1218                     move.b     D1, [A0]+
  251. 00000260  6700 FED2                beq        -0x12C /* 00000134 */
  252. 00000264  B200                     cmp.b      D1, D0
  253. 00000266  66F6                     bne        -0x8 /* 0000025E */
  254. 00000268  91C9                     sub.l      A0, A1
  255. 0000026A  2008                     move.l     D0, A0
  256. 0000026C  6000 FEB2                bra        -0x14C /* 00000120 */
  257. 00000270  0313                     btst       [A3], D1
  258. 00000272  0B02                     btst       D2, D5
  259. 00000274  0106                     btst       D6, D0
  260. 00000276  0704                     btst       D4, D3
  261. 00000278  0508                     btst       A0, D2
  262. 0000027A  0900                     btst       D0, D4
  263. 0000027C  7000                     moveq.l    D0, 0x00
  264. 0000027E  4A38 0291                tst.b      [0x00000291 /* PortBUse */]
  265. 00000282  6B16                     bmi        +0x18 /* 0000029A */
  266. 00000284  1238 01FB                move.b     D1, [0x000001FB /* SPConfig */]
  267. 00000288  0201 000F                andi.b     D1, 0xF
  268. 0000028C  0C01 0001                cmpi.b     D1, 0x1
  269. 00000290  6608                     bne        +0xA /* 0000029A */
  270. 00000292  2078 02DC                movea.l    A0, [0x000002DC /* ABusDCE */]
  271. 00000296  1028 0007                move.b     D0, [A0 + 0x7]
  272. label0000029A:
  273. 0000029A  6000 FE84                bra        -0x17A /* 00000120 */
  274. 0000029E  0C38 0002 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x2
  275. 000002A4  6D16                     blt        +0x18 /* 000002BC */
  276. 000002A6  7000                     moveq.l    D0, 0x00
  277. 000002A8  1038 0CB1                move.b     D0, [0x00000CB1 /* MMUType */]
  278. 000002AC  0C00 0001                cmpi.b     D0, 0x1
  279. 000002B0  670C                     beq        +0xE /* 000002BE */
  280. 000002B2  0C00 0003                cmpi.b     D0, 0x3
  281. 000002B6  6D04                     blt        +0x6 /* 000002BC */
  282. 000002B8  5340                     subq.w     D0, 1
  283. 000002BA  6002                     bra        +0x4 /* 000002BE */
  284. label000002BC:
  285. 000002BC  7000                     moveq.l    D0, 0x00
  286. label000002BE:
  287. 000002BE  6000 FE60                bra        -0x19E /* 00000120 */
  288. 000002C2  303C A89F                move.w     D0, 0xA89F
  289. 000002C6  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  290. 000002C8  2408                     move.l     D2, A0
  291. 000002CA  203C 0000 A88F           move.l     D0, 0xA88F
  292. 000002D0  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  293. 000002D2  2038 0108                move.l     D0, [0x00000108 /* MemTop */]
  294. 000002D6  B488                     cmp.l      D2, A0
  295. 000002D8  670A                     beq        +0xC /* 000002E4 */
  296. 000002DA  598F                     subq.l     A7, 4
  297. 000002DC  3F3C 0016                move.w     -[A7], 0x16
  298. 000002E0  A88F                     syscall    OSDispatch
  299. 000002E2  201F                     move.l     D0, [A7]+
  300. label000002E4:
  301. 000002E4  6000 FE3A                bra        -0x1C4 /* 00000120 */
  302.